banniere
BLUMAX WebSite
Espace privé
Adresse courriel :
Mot de passe :
Stat
  • 4 inscrits sur le site
  • 0 personne en ligne
  • 38 téléchargements
  • 34 articles
  • 65 réponses dans la FAQ
  • Les 2 derniers inscrits
    - Airwheel
    - PoPo
Articles - Arduino - Utiliser une ligne phototensible TSL1401 avec une Arduino.





#define FASTADC 1
// defines for setting and clearing register bits
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))

#define AOpin 0 // Analog output - yellow
#define SIpin 3 // Start Integration - orange
#define CLKpin 2 // Clock - red

#define NPIXELS 128 // No. of pixels in array
byte pixel[NPIXELS]; // Field for measured values <0-255>

int noir = 0;
int blanc = 0;

void setup(void) {
pinMode(SIpin, OUTPUT);
pinMode(CLKpin, OUTPUT);

digitalWrite(SIpin, LOW); // IDLE state
digitalWrite(CLKpin, LOW); // IDLE state

Serial.begin(115200);
}

void loop (void) {
digitalWrite(CLKpin, LOW);
digitalWrite(SIpin, HIGH);
digitalWrite(CLKpin, HIGH);
digitalWrite(SIpin, LOW);

for(int i = 0; i < NPIXELS; i++) {
pixel[i] = analogRead(AOpin)/4 ; // 8-bit is enough
digitalWrite(CLKpin, LOW);
digitalWrite(CLKpin, HIGH);
}

int maxValue, minValue = 0;
float maxValue10m, maxValue10p;

maxValue = pixel[0];
minValue = pixel[0];
for (int i = 0; i < NPIXELS; i++) {
maxValue = max(maxValue, pixel[i]);
minValue = min(minValue, pixel[i]);
}

maxValue10m = maxValue0.9;
maxValue10p = maxValue
1.1;


noir = 0;
blanc = 0;

for(int i = 0; i < NPIXELS; i++) {
if(between(pixel[i], maxValue10m, maxValue10p)) {
Serial.print("0");
noir++;
}
else {
Serial.print("1");
blanc++;
}
}
Serial.print(" - ");
Serial.print(noir);
Serial.print(" - ");
Serial.print(blanc);

Serial.println();
}

boolean between(float x, float mini, float maxi) {
if(mini > maxi) {
int tmp;
tmp = mini;
mini = maxi;
maxi = tmp;
}

if (x >= mini && x <= maxi) {
return true;
}
else {
return false;
}
}


Par Blumax le 17/04/2015
Aucun commentaire
Vous devez vous connecter pour poster un commentaire
© 2004-2024 blumax.fr